

using System;
using System.Runtime.InteropServices;

namespace CUtil.Win32
{
	/// <summary> 
	/// 
	/// </summary>
	[System.Security.SuppressUnmanagedCodeSecurity()]
	public class CommCtrl {

		/// <summary> 
		/// Do not create instances of this class!
		/// </summary>
		private CommCtrl() {
		}
		/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Messages/TVM_SELECTITEM.htm">see Platform SDK</A></summary>
		[Flags]
		public enum TreeSelectedStyles
		{
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Messages/TVM_SELECTITEM.htm">see Platform SDK</A></summary>
			TVGN_ROOT             = 0x0000,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Messages/TVM_SELECTITEM.htm">see Platform SDK</A></summary>
			TVGN_NEXT             = 0x0001,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Messages/TVM_SELECTITEM.htm">see Platform SDK</A></summary>
			TVGN_PREVIOUS         = 0x0002,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Messages/TVM_SELECTITEM.htm">see Platform SDK</A></summary>
			TVGN_PARENT           = 0x0003,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Messages/TVM_SELECTITEM.htm">see Platform SDK</A></summary>
			TVGN_CHILD            = 0x0004,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Messages/TVM_SELECTITEM.htm">see Platform SDK</A></summary>
			TVGN_FIRSTVISIBLE     = 0x0005,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Messages/TVM_SELECTITEM.htm">see Platform SDK</A></summary>
			TVGN_NEXTVISIBLE      = 0x0006,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Messages/TVM_SELECTITEM.htm">see Platform SDK</A></summary>
			TVGN_PREVIOUSVISIBLE  = 0x0007,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Messages/TVM_SELECTITEM.htm">see Platform SDK</A></summary>
			TVGN_DROPHILITE       = 0x0008,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Messages/TVM_SELECTITEM.htm">see Platform SDK</A></summary>
			TVGN_CARET            = 0x0009,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Messages/TVM_SELECTITEM.htm">see Platform SDK</A></summary>
			TVGN_LASTVISIBLE      = 0x000A
		}

		/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Styles.htm">see Platform SDK</A></summary>
		[Flags]
		public enum TreeViewStyles
		{
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Styles.htm">see Platform SDK</A></summary>
			TVS_HASBUTTONS      =   0x0001,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Styles.htm">see Platform SDK</A></summary>
			TVS_HASLINES        =   0x0002,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Styles.htm">see Platform SDK</A></summary>
			TVS_LINESATROOT     =   0x0004,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Styles.htm">see Platform SDK</A></summary>
			TVS_EDITLABELS      =   0x0008,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Styles.htm">see Platform SDK</A></summary>
			TVS_DISABLEDRAGDROP =   0x0010,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Styles.htm">see Platform SDK</A></summary>
			TVS_SHOWSELALWAYS   =   0x0020,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Styles.htm">see Platform SDK</A></summary>
			TVS_RTLREADING      =   0x0040,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Styles.htm">see Platform SDK</A></summary>
			TVS_NOTOOLTIPS      =   0x0080,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Styles.htm">see Platform SDK</A></summary>
			TVS_CHECKBOXES      =   0x0100,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Styles.htm">see Platform SDK</A></summary>
			TVS_TRACKSELECT     =   0x0200,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Styles.htm">see Platform SDK</A></summary>
			TVS_SINGLEEXPAND    =   0x0400,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Styles.htm">see Platform SDK</A></summary>
			TVS_INFOTIP         =   0x0800,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Styles.htm">see Platform SDK</A></summary>
			TVS_FULLROWSELECT   =   0x1000,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Styles.htm">see Platform SDK</A></summary>
			TVS_NOSCROLL        =   0x2000,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Styles.htm">see Platform SDK</A></summary>
			TVS_NONEVENHEIGHT   =   0x4000,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Styles.htm">see Platform SDK</A></summary>
			TVS_NOHSCROLL       =   0x8000 // TVS_NOSCROLL overrides this
		}
		/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Messages/TVM_EXPAND.htm">see Platform SDK</A></summary>
		[Flags]
		public enum TreeViewActions
		{
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Messages/TVM_EXPAND.htm">see Platform SDK</A></summary>
			TVE_COLLAPSE       =    0x0001,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Messages/TVM_EXPAND.htm">see Platform SDK</A></summary>
			TVE_EXPAND         =    0x0002,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Messages/TVM_EXPAND.htm">see Platform SDK</A></summary>
			TVE_TOGGLE         =    0x0003,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Messages/TVM_EXPAND.htm">see Platform SDK</A></summary>
			TVE_EXPANDPARTIAL  =    0x4000,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Messages/TVM_EXPAND.htm">see Platform SDK</A></summary>
			TVE_COLLAPSERESET  =    0x8000
		}

		/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/wcesdkr/htm/_wcesdk_win32_TV_ITEM_str.htm">see Platform SDK</A></summary>
		[Flags]
		public enum TreeViewMasks
		{
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/wcesdkr/htm/_wcesdk_win32_TV_ITEM_str.htm">see Platform SDK</A></summary>
			TVIF_TEXT           =   0x0001,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/wcesdkr/htm/_wcesdk_win32_TV_ITEM_str.htm">see Platform SDK</A></summary>
			TVIF_IMAGE          =   0x0002,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/wcesdkr/htm/_wcesdk_win32_TV_ITEM_str.htm">see Platform SDK</A></summary>
			TVIF_PARAM          =   0x0004,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/wcesdkr/htm/_wcesdk_win32_TV_ITEM_str.htm">see Platform SDK</A></summary>
			TVIF_STATE          =   0x0008,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/wcesdkr/htm/_wcesdk_win32_TV_ITEM_str.htm">see Platform SDK</A></summary>
			TVIF_HANDLE         =   0x0010,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/wcesdkr/htm/_wcesdk_win32_TV_ITEM_str.htm">see Platform SDK</A></summary>
			TVIF_SELECTEDIMAGE  =   0x0020,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/wcesdkr/htm/_wcesdk_win32_TV_ITEM_str.htm">see Platform SDK</A></summary>
			TVIF_CHILDREN       =   0x0040,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/wcesdkr/htm/_wcesdk_win32_TV_ITEM_str.htm">see Platform SDK</A></summary>
			TVIF_INTEGRAL       =   0x0080,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/wcesdkr/htm/_wcesdk_win32_TV_ITEM_str.htm">see Platform SDK</A></summary>
			TVIF_DI_SETITEM     =   0x1000
		}
		/// <summary>Common control notification messages</summary>
		[Flags]
		public enum NotifyMessages 
		{
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Common/Common.htm">see Platform SDK</A></summary>
			NM_FIRST			=		0,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Common/Common.htm">see Platform SDK</A></summary>
			NM_OUTOFMEMORY		=      (NM_FIRST-1),
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Common/Common.htm">see Platform SDK</A></summary>
			NM_CLICK			=      (NM_FIRST-2),    // uses NMCLICK struct
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Common/Common.htm">see Platform SDK</A></summary>
			NM_DBLCLK			=      (NM_FIRST-3),
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Common/Common.htm">see Platform SDK</A></summary>
			NM_RETURN			=      (NM_FIRST-4),
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Common/Common.htm">see Platform SDK</A></summary>
			NM_RCLICK			=      (NM_FIRST-5),    // uses NMCLICK struct
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Common/Common.htm">see Platform SDK</A></summary>
			NM_RDBLCLK			=      (NM_FIRST-6),
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Common/Common.htm">see Platform SDK</A></summary>
			NM_SETFOCUS			=      (NM_FIRST-7),
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Common/Common.htm">see Platform SDK</A></summary>
			NM_KILLFOCUS		=      (NM_FIRST-8),
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Common/Common.htm">see Platform SDK</A></summary>
			NM_CUSTOMDRAW      	=      (NM_FIRST-12)
		}

		/// <summary>Header formats</summary>
		[Flags]
		public enum HeaderFormats {
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			HDF_LEFT               = 0x0000,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			HDF_RIGHT              = 0x0001,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			HDF_CENTER             = 0x0002,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			HDF_JUSTIFYMASK        = 0x0003,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			HDF_RTLREADING         = 0x0004,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			HDF_OWNERDRAW          = 0x8000,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			HDF_STRING             = 0x4000,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			HDF_BITMAP             = 0x2000,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			HDF_BITMAP_ON_RIGHT    = 0x1000,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			HDF_IMAGE              = 0x0800,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			HDF_SORTUP             = 0x0400,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			HDF_SORTDOWN           = 0x0200
		}

		/// <summary>Header masks</summary>
		[Flags]
		public enum HeaderMasks {
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			HDI_WIDTH              =  0x0001,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			HDI_HEIGHT             =  HDI_WIDTH,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			HDI_TEXT               =  0x0002,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			HDI_FORMAT             =  0x0004,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			HDI_LPARAM             =  0x0008,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			HDI_BITMAP             =  0x0010,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			HDI_IMAGE              =  0x0020,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			HDI_DI_SETITEM         =  0x0040,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			HDI_ORDER              =  0x0080,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			HDI_FILTER             =  0x0100
		}															
		
		/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Item_States.htm#tv_item_states">see Platform SDK</A></summary>
		[Flags]
		public enum TreeViewStates
		{
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Item_States.htm#tv_item_states">see Platform SDK</A></summary>
			TVIS_SELECTED        =  0x0002,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Item_States.htm#tv_item_states">see Platform SDK</A></summary>
			TVIS_CUT             =  0x0004,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Item_States.htm#tv_item_states">see Platform SDK</A></summary>
			TVIS_DROPHILITED     =  0x0008,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Item_States.htm#tv_item_states">see Platform SDK</A></summary>
			TVIS_BOLD            =  0x0010,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Item_States.htm#tv_item_states">see Platform SDK</A></summary>
			TVIS_EXPANDED        =  0x0020,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Item_States.htm#tv_item_states">see Platform SDK</A></summary>
			TVIS_EXPANDEDONCE    =  0x0040,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Item_States.htm#tv_item_states">see Platform SDK</A></summary>
			TVIS_EXPANDPARTIAL   =  0x0080,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Item_States.htm#tv_item_states">see Platform SDK</A></summary>
			TVIS_OVERLAYMASK     =  0x0F00,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Item_States.htm#tv_item_states">see Platform SDK</A></summary>
			TVIS_STATEIMAGEMASK  =  0xF000,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Item_States.htm#tv_item_states">see Platform SDK</A></summary>
			TVIS_USERMASK        =  0xF000
		}
		/// <summary>
		/// TreeView Notifications
		/// </summary>
		[Flags]
		public enum TreeViewNotifications
		{
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_ITEMEXPANDED.htm">see Platform SDK</A></summary>
			TVN_FIRST          =    -400,       // treeview
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_ITEMEXPANDED.htm">see Platform SDK</A></summary>
			TVN_SELCHANGINGA   =    TVN_FIRST-1,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_ITEMEXPANDED.htm">see Platform SDK</A></summary>
			TVN_SELCHANGINGW   =    TVN_FIRST-50,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_ITEMEXPANDED.htm">see Platform SDK</A></summary>
			TVN_SELCHANGEDA    =    TVN_FIRST-2,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_ITEMEXPANDED.htm">see Platform SDK</A></summary>
			TVN_SELCHANGEDW    =    TVN_FIRST-51,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_ITEMEXPANDED.htm">see Platform SDK</A></summary>
			TVN_GETDISPINFOA   =    TVN_FIRST-3,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_ITEMEXPANDED.htm">see Platform SDK</A></summary>
			TVN_GETDISPINFOW   =    TVN_FIRST-52,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_ITEMEXPANDED.htm">see Platform SDK</A></summary>
			TVN_SETDISPINFOA   =    TVN_FIRST-4,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_ITEMEXPANDED.htm">see Platform SDK</A></summary>
			TVN_SETDISPINFOW   =    TVN_FIRST-53,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_ITEMEXPANDING.htm">see Platform SDK</A></summary>
			TVN_ITEMEXPANDINGA =    TVN_FIRST-5,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_ITEMEXPANDING.htm">see Platform SDK</A></summary>
			TVN_ITEMEXPANDINGW =    TVN_FIRST-54,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_ITEMEXPANDED.htm">see Platform SDK</A></summary>
			TVN_ITEMEXPANDEDA  =    TVN_FIRST-6,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_ITEMEXPANDED.htm">see Platform SDK</A></summary>
			TVN_ITEMEXPANDEDW  =    TVN_FIRST-55,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_ITEMEXPANDED.htm">see Platform SDK</A></summary>
			TVN_BEGINDRAGA     =    TVN_FIRST-7,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_ITEMEXPANDED.htm">see Platform SDK</A></summary>
			TVN_BEGINDRAGW     =    TVN_FIRST-56,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_BEGINRDRAG.htm">see Platform SDK</A></summary>
			TVN_BEGINRDRAGA    =    TVN_FIRST-8,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_BEGINRDRAG.htm">see Platform SDK</A></summary>
			TVN_BEGINRDRAGW    =    TVN_FIRST-57,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_DELETEITEM.htm">see Platform SDK</A></summary>
			TVN_DELETEITEMA    =    TVN_FIRST-9,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_DELETEITEM.htm">see Platform SDK</A></summary>
			TVN_DELETEITEMW    =    TVN_FIRST-58,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_DELETEITEM.htm">see Platform SDK</A></summary>
			TVN_BEGINLABELEDITA=    TVN_FIRST-10,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_DELETEITEM.htm">see Platform SDK</A></summary>
			TVN_BEGINLABELEDITW=    TVN_FIRST-59,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_DELETEITEM.htm">see Platform SDK</A></summary>
			TVN_ENDLABELEDITA  =    TVN_FIRST-11,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_DELETEITEM.htm">see Platform SDK</A></summary>
			TVN_ENDLABELEDITW  =    TVN_FIRST-60,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_DELETEITEM.htm">see Platform SDK</A></summary>
			TVN_KEYDOWN        =    TVN_FIRST-12,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_DELETEITEM.htm">see Platform SDK</A></summary>
			TVN_GETINFOTIPA    =    TVN_FIRST-13,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_DELETEITEM.htm">see Platform SDK</A></summary>
			TVN_GETINFOTIPW    =    TVN_FIRST-14,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Notifications/TVN_DELETEITEM.htm">see Platform SDK</A></summary>
			TVN_SINGLEEXPAND   =    TVN_FIRST-15
		}
		/// <summary>Header notifications</summary>
		[Flags]
		public enum HeaderNotifications 
		{
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Header.htm">see Platform SDK</A></summary>
			HDN_FIRST 				= -300,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Header.htm">see Platform SDK</A></summary>
			HDN_ITEMCHANGINGA       = HDN_FIRST-0,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Header.htm">see Platform SDK</A></summary>
			HDN_ITEMCHANGINGW       = HDN_FIRST-20,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Header.htm">see Platform SDK</A></summary>
			HDN_ITEMCHANGEDA        = HDN_FIRST-1,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Header.htm">see Platform SDK</A></summary>
			HDN_ITEMCHANGEDW        = HDN_FIRST-21,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Header.htm">see Platform SDK</A></summary>
			HDN_ITEMCLICKA          = HDN_FIRST-2,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Header.htm">see Platform SDK</A></summary>
			HDN_ITEMCLICKW          = HDN_FIRST-22,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Header.htm">see Platform SDK</A></summary>
			HDN_ITEMDBLCLICKA       = HDN_FIRST-3,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Header.htm">see Platform SDK</A></summary>
			HDN_ITEMDBLCLICKW       = HDN_FIRST-23,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Header.htm">see Platform SDK</A></summary>
			HDN_DIVIDERDBLCLICKA    = HDN_FIRST-5,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Header.htm">see Platform SDK</A></summary>
			HDN_DIVIDERDBLCLICKW    = HDN_FIRST-25,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Header.htm">see Platform SDK</A></summary>
			HDN_BEGINTRACKA         = HDN_FIRST-6,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Header.htm">see Platform SDK</A></summary>
			HDN_BEGINTRACKW         = HDN_FIRST-26,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Header.htm">see Platform SDK</A></summary>
			HDN_ENDTRACKA           = HDN_FIRST-7,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Header.htm">see Platform SDK</A></summary>
			HDN_ENDTRACKW           = HDN_FIRST-27,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Header.htm">see Platform SDK</A></summary>
			HDN_TRACKA              = HDN_FIRST-8,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Header.htm">see Platform SDK</A></summary>
			HDN_TRACKW              = HDN_FIRST-28,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Header.htm">see Platform SDK</A></summary>
			HDN_GETDISPINFOA        = HDN_FIRST-9,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Header.htm">see Platform SDK</A></summary>
			HDN_GETDISPINFOW        = HDN_FIRST-29,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Header.htm">see Platform SDK</A></summary>
			HDN_BEGINDRAG           = HDN_FIRST-10,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Header.htm">see Platform SDK</A></summary>
			HDN_ENDDRAG             = HDN_FIRST-11
		}
		/// <summary>ToolTip styles</summary>
		[Flags]
		public enum ToolTipStyles
		{
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			TTS_ALWAYSTIP       =   0x01,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			TTS_NOPREFIX        =   0x02,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			TTS_NOANIMATE       =   0x10,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			TTS_NOFADE          =   0x20,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			TTS_BALLOON         =   0x40,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			TTS_CLOSE           =   0x80
		}
		/// <summary>Listview styles</summary>
		[Flags]
		public enum ListViewStyles 
		{
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			LVS_ICON              =  0x0000,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			LVS_REPORT            =  0x0001,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			LVS_SMALLICON         =  0x0002,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			LVS_LIST              =  0x0003,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			LVS_TYPEMASK          =  0x0003,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			LVS_SINGLESEL         =  0x0004,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			LVS_SHOWSELALWAYS     =  0x0008,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			LVS_SORTASCENDING     =  0x0010,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			LVS_SORTDESCENDING    =  0x0020,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			LVS_SHAREIMAGELISTS   =  0x0040,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			LVS_NOLABELWRAP       =  0x0080,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			LVS_AUTOARRANGE       =  0x0100,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			LVS_EDITLABELS        =  0x0200,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			LVS_OWNERDATA         =  0x1000,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			LVS_NOSCROLL          =  0x2000,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			LVS_TYPESTYLEMASK     =  0xfc00,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			LVS_ALIGNTOP          =  0x0000,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			LVS_ALIGNLEFT         =  0x0800,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			LVS_ALIGNMASK         =  0x0c00,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			LVS_OWNERDRAWFIXED    =  0x0400,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			LVS_NOCOLUMNHEADER    =  0x4000,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Styles.htm">see Platform SDK</A></summary>
			LVS_NOSORTHEADER      =  0x8000
		}
		
		/// <summary>Listview extended styles</summary>
		public enum ListViewExtendedStyles {
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Ex_Styles.htm">see Platform SDK</A></summary>
			LVS_EX_INFOTIP = 0x00000400
		}

		/// <summary>Listview masks</summary>
		[Flags]
		public enum ListViewMasks {
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Structures/LVITEM.htm">see Platform SDK</A></summary>
			LVIF_TEXT         =     0x0001,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Structures/LVITEM.htm">see Platform SDK</A></summary>
			LVIF_IMAGE        =     0x0002,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Structures/LVITEM.htm">see Platform SDK</A></summary>
			LVIF_PARAM        =     0x0004,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Structures/LVITEM.htm">see Platform SDK</A></summary>
			LVIF_STATE        =     0x0008,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Structures/LVITEM.htm">see Platform SDK</A></summary>
			LVIF_INDENT       =     0x0010,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Structures/LVITEM.htm">see Platform SDK</A></summary>
			LVIF_NORECOMPUTE  =     0x0800,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Structures/LVITEM.htm">see Platform SDK</A></summary>
			LVIF_GROUPID      =     0x0100,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Structures/LVITEM.htm">see Platform SDK</A></summary>
			LVIF_COLUMNS      =     0x0200,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Structures/LVITEM.htm">see Platform SDK</A></summary>
			LVIF_DI_SETITEM   =     0x1000
		}

		/// <summary>Listview state masks</summary>
		[Flags]
		public enum ListViewStateMasks {
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Structures/LVITEM.htm">see Platform SDK</A></summary>
			LVIS_FOCUSED         =   0x0001,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Structures/LVITEM.htm">see Platform SDK</A></summary>
			LVIS_SELECTED        =   0x0002,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Structures/LVITEM.htm">see Platform SDK</A></summary>
			LVIS_CUT             =   0x0004,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Structures/LVITEM.htm">see Platform SDK</A></summary>
			LVIS_DROPHILITED     =   0x0008,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Structures/LVITEM.htm">see Platform SDK</A></summary>
			LVIS_GLOW            =   0x0010,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Structures/LVITEM.htm">see Platform SDK</A></summary>
			LVIS_ACTIVATING      =   0x0020,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Structures/LVITEM.htm">see Platform SDK</A></summary>
			LVIS_OVERLAYMASK     =   0x0F00,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Structures/LVITEM.htm">see Platform SDK</A></summary>
			LVIS_STATEIMAGEMASK  =   0xF000
		}

		/// <summary>Listview notification messages</summary>
		public enum ListViewNotifications {
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/ListView_Overview.htm">see Platform SDK</A></summary>
			LVN_FIRST 				= -100,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/ListView_Overview.htm">see Platform SDK</A></summary>
			LVN_GETINFOTIPA   		= LVN_FIRST - 57,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/ListView_Overview.htm">see Platform SDK</A></summary>
			LVN_GETINFOTIPW   		= LVN_FIRST - 58,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/ListView_Overview.htm">see Platform SDK</A></summary>
			LVN_COLUMNCLICK			= LVN_FIRST - 8,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/ListView_Overview.htm">see Platform SDK</A></summary>
			LVN_ODCACHEHINT			= LVN_FIRST - 13,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/ListView_Overview.htm">see Platform SDK</A></summary>
			LVN_ODFINDITEMA			= LVN_FIRST - 52,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/ListView_Overview.htm">see Platform SDK</A></summary>
			LVN_ODFINDITEMW			= LVN_FIRST - 79,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/ListView_Overview.htm">see Platform SDK</A></summary>
			LVN_GETDISPINFOA		= LVN_FIRST - 50,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/ListView_Overview.htm">see Platform SDK</A></summary>
			LVN_GETDISPINFOW		= LVN_FIRST - 77,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/ListView_Overview.htm">see Platform SDK</A></summary>
			LVN_SETDISPINFOA		= LVN_FIRST - 51,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/ListView_Overview.htm">see Platform SDK</A></summary>
			LVN_SETDISPINFOW		= LVN_FIRST - 78,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/ListView_Overview.htm">see Platform SDK</A></summary>
			LVN_ENDLABELEDITA 		= LVN_FIRST - 6,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/ListView_Overview.htm">see Platform SDK</A></summary>
			LVN_ENDLABELEDITW 		= LVN_FIRST - 76,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/ListView_Overview.htm">see Platform SDK</A></summary>
			LVN_BEGINLABELEDITA 	= LVN_FIRST - 5,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/ListView_Overview.htm">see Platform SDK</A></summary>
			LVN_BEGINLABELEDITW 	= LVN_FIRST - 75,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/ListView_Overview.htm">see Platform SDK</A></summary>
			LVN_BEGINDRAG       	= LVN_FIRST - 9,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/ListView_Overview.htm">see Platform SDK</A></summary>
			LVN_BEGINRDRAG      	= LVN_FIRST - 11
		}

		/// <summary>LVM_SETITEMCOUNT flags</summary>
		public enum ListViewSetItemCountFlags {
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Messages/LVM_SETITEMCOUNT.htm">see Platform SDK</A></summary>
			LVSICF_NOINVALIDATEALL 	= 0x00000001,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ListView/Messages/LVM_SETITEMCOUNT.htm">see Platform SDK</A></summary>
			LVSICF_NOSCROLL 		= 0x00000002,
		}

		/// <summary>Animation Control Commands</summary>
		public enum AnimateCommands {
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/winui/windows_8e5z.htm">see Platform SDK</A></summary>
			AW_HOR_POSITIVE         =    0x00000001,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/winui/windows_8e5z.htm">see Platform SDK</A></summary>
			AW_HOR_NEGATIVE         =    0x00000002,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/winui/windows_8e5z.htm">see Platform SDK</A></summary>
			AW_VER_POSITIVE         =    0x00000004,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/winui/windows_8e5z.htm">see Platform SDK</A></summary>
			AW_VER_NEGATIVE         =    0x00000008,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/winui/windows_8e5z.htm">see Platform SDK</A></summary>
			AW_CENTER               =    0x00000010,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/winui/windows_8e5z.htm">see Platform SDK</A></summary>
			AW_HIDE                 =    0x00010000,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/winui/windows_8e5z.htm">see Platform SDK</A></summary>
			AW_ACTIVATE             =    0x00020000,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/winui/windows_8e5z.htm">see Platform SDK</A></summary>
			AW_SLIDE                =    0x00040000,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/winui/windows_8e5z.htm">see Platform SDK</A></summary>
			AW_BLEND                =    0x00080000
		}

		/// <summary>
		/// Header of all structs used with the WM_NOTIFY message.
		/// the LParam refer
		/// </summary>
		[StructLayout(LayoutKind.Sequential)]
		public struct NMHDR {
			/// <summary>
			/// handle of window
			/// </summary>
			public IntPtr hWnd;
			/// <summary>
			/// ID from
			/// </summary>
			public Int32 idFrom;
			/// <summary>
			/// notification's code
			/// </summary>
			public Int32 codeNotify; 
		}

		/// <summary>Point structure</summary>
		[StructLayout(LayoutKind.Sequential)]
		public struct POINT 
		{
			/// <summary></summary>
			public Int32 X;
			/// <summary></summary>
			public Int32 Y;
		}

		/// <summary>
		/// <A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/ListView/Structures/NMLISTVIEW.htm">see Platform SDK</A>
		/// </summary>
		[StructLayout(LayoutKind.Sequential)]
		public struct NMLISTVIEW {
			/// <summary>
			/// NMHDR structure that contains information about this notification message. 
			/// </summary>
			[MarshalAs(UnmanagedType.Struct)]public NMHDR hdr;
			/// <summary>Identifies the list-view item, or -1 if not used.</summary>
			public Int32 iItem;
			/// <summary>Identifies the subitem, or zero if none. </summary>
			public Int32 iSubItem; 
			/// <summary>New item state. This member is zero for notification messages that do not use it.</summary>
			public Int32 uNewState;
			/// <summary>Old item state. This member is zero for notification messages that do not use it.</summary>
			public Int32 uOldState;
			/// <summary>Set of flags that indicate the item attributes that have changed. This member is zero for notifications that do not use it.</summary>
			public Int32 uChanged;
			/// <summary>This member is undefined for notification messages that do not use it. </summary>
			[MarshalAs(UnmanagedType.Struct)]public POINT ptAction;
			/// <summary>notification's</summary>
			public Int32 lParam;
		}

		/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
		[StructLayout(LayoutKind.Sequential)]
		public struct HDITEM 
		{
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			public Int32    mask; 
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			public Int32    cxy; 
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			public string	pszText; 
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			public Int32	hbm;		//HBITMAP handle to the item bitmap
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			public Int32    cchTextMax; 
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			public Int32    fmt; 
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			public Int32    lParam;		//LPARAM
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			public Int32    iImage;
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			public Int32    iOrder;
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			public Int32	type;
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/Header/Structures/HDITEM.htm">see Platform SDK</A></summary>
			public Int32	pvFilter;	//LPVOID
		} 
		/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ToolTip/Structures/TOOLINFO.htm">see Platform SDK</A></summary>
		[StructLayout(LayoutKind.Sequential)]
		public struct StructTOOLINFO
		{
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ToolTip/Structures/TOOLINFO.htm">see Platform SDK</A></summary>
			public Int32 cbSize;
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ToolTip/Structures/TOOLINFO.htm">see Platform SDK</A></summary>
			public Int32 uFlags;
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ToolTip/Structures/TOOLINFO.htm">see Platform SDK</A></summary>
			public IntPtr hwnd;
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ToolTip/Structures/TOOLINFO.htm">see Platform SDK</A></summary>
			public IntPtr uId;
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ToolTip/Structures/TOOLINFO.htm">see Platform SDK</A></summary>
			[MarshalAs(UnmanagedType.Struct)] public User32.RECT rect;
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ToolTip/Structures/TOOLINFO.htm">see Platform SDK</A></summary>
			public IntPtr hinst;
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ToolTip/Structures/TOOLINFO.htm">see Platform SDK</A></summary>
			[MarshalAs(UnmanagedType.LPTStr)] public string lpszText;
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ToolTip/Structures/TOOLINFO.htm">see Platform SDK</A></summary>
			public Int32 lParam;
		}
		/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/winui/scrolbar_5ib6.htm">see Platform SDK</A></summary>
		[StructLayout(LayoutKind.Sequential)]
		public struct StructSCROLLINFO 
		{ 
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/winui/scrolbar_5ib6.htm">see Platform SDK</A></summary>
			public Int32  cbSize;	// the size of StructSCROLLINFO in bytes
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/winui/scrolbar_5ib6.htm">see Platform SDK</A></summary>
			public Int32  fMask; 
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/winui/scrolbar_5ib6.htm">see Platform SDK</A></summary>
			public Int32  nMin; 
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/winui/scrolbar_5ib6.htm">see Platform SDK</A></summary>
			public Int32  nMax; 
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/winui/scrolbar_5ib6.htm">see Platform SDK</A></summary>
			public Int32  nPage; 
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/winui/scrolbar_5ib6.htm">see Platform SDK</A></summary>
			public Int32  nPos; 
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/winui/scrolbar_5ib6.htm">see Platform SDK</A></summary>
			public Int32  nTrackPos; 
		} 

		/// <summary>
		/// Used with the LVM_SETINFOTIP message
		/// the LParam refer
		/// </summary>
		[StructLayout(LayoutKind.Sequential)]
		public struct LVSETINFOTIP {   
			/// <summary>
			/// look above
			/// </summary>
			[MarshalAs(UnmanagedType.Struct)]public NMHDR hdr;

			/// <summary></summary>
			public System.Int32 dwFlags;

			/// <summary></summary>
			public string pszText;
			/// <summary></summary>
            public Int32 cchTextMax;
			/// <summary></summary>
			public Int32 iItem;
			/// <summary></summary>
			public Int32 iSubItem;
			/// <summary></summary>
			public Int32 lParam;
		}

		/// <summary>
		/// Structure LParam refer when owner requested LVN_ODCACHEHINT 
		/// </summary>
		[StructLayout(LayoutKind.Sequential)]
		public struct NMLVCACHEHINT
		{   
			/// <summary>
			/// look above
			/// </summary>
			[MarshalAs(UnmanagedType.Struct)]public NMHDR hdr;
			/// <summary>start index in DataBase(requested)</summary>
			public Int32 iFrom;
			/// <summary>end index in DataBase(requested)</summary>
			public Int32 iTo; 
		}
	
		/// <summary>
		/// Structure LParam refer when owner requested LVN_GETDISPINFO 
		/// </summary>
		[StructLayout(LayoutKind.Sequential)]
		public struct LVDISPINFO
		{
			/// <summary>
			/// look above
			/// </summary>
			[MarshalAs(UnmanagedType.Struct)]public NMHDR hdr;
			/// <summary>
			/// look below
			/// </summary>
			[MarshalAs(UnmanagedType.Struct)]public LVITEM item;
		}
	
		/// <summary>
		/// this structure is a part of StructLVDISPINFO
		/// </summary>
		[StructLayout(LayoutKind.Sequential)]
		public struct LVITEM
		{
			/// <summary>
			/// Set of flags that specify which members of this structure 
			/// contain data to be set or which members are being requested
			/// </summary>
			public Int32 mask;
			/// <summary>
			/// which item we have to update
			/// </summary>
			public Int32 iItem;
			/// <summary>
			/// which subitem we have to update
			/// </summary>
			public Int32 iSubItem;
			/// <summary>
			/// Value specifying which bits of the state member 
			/// will be retrieved or modified
			/// </summary>
			public Int32 state;
			/// <summary>
			/// Indicates the item's state, state image, and overlay image.
			/// </summary>
			public Int32 stateMask;
			/// <summary>
			/// pszText is a pointer to a null-terminated 
			/// string containing the item text that's we have to 
			/// marshal as LPWSTR. no we don't have!!! The format of this string depends
			/// on the operating system!!! This is a LPTSTR!!! Let the marshaler handle this
			/// properly!!! We have to call the appropriate messages though.
			/// </summary>
			public string pszText;				//LPSTR
			/// <summary>
			/// Number of characters in the buffer pointed to by pszText. 
			/// This member is only used when the structure receives item attributes. 
			/// It is ignored when the structure specifies item attributes. 
			/// </summary>
			public Int32 cchTextMax;
			/// <summary>
			/// Index of the item's icon in the control's image list.
			/// </summary>
			public Int32 iImage;
			/// <summary>
			/// Value specific to the item.
			/// </summary>
			public Int32 lParam;					//LPARAM lParam
			/// <summary>
			/// Number of image widths to indent the item. 
			/// A single indentation equals the width of an item image. 
			/// Therefore, the value 1 indents the item by the width of one image,
			/// the value 2 indents by two images, and so on. Note that this field is 
			/// supported only for items. Attempting to set subitem indentation 
			/// will cause the calling function to fail. 
			/// </summary>
			public Int32 iIndent;
			/// <summary>
			/// Identifier of the tile view group that receives the item.
			/// </summary>
			public Int32 iGroupId;
			/// <summary>
			/// Number of tile view columns to display for this item. 
			/// </summary>
			public Int32 cColumns;
			/// <summary>
			/// Pointer to the array of column indices; length of cColumns. 
			/// </summary>
			[MarshalAs(UnmanagedType.ByValArray , SizeConst=4)]public System.UInt32[] puColumns;		//PUINT puColumns
		}

		/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/wcesdkr/htm/_wcesdk_win32_TV_ITEM_str.htm">see Platform SDK</A></summary>
		[StructLayout(LayoutKind.Sequential)]
		public struct TVITEM
		{
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/wcesdkr/htm/_wcesdk_win32_TV_ITEM_str.htm">see Platform SDK</A></summary>
			public Int32 mask;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/wcesdkr/htm/_wcesdk_win32_TV_ITEM_str.htm">see Platform SDK</A></summary>
			public IntPtr hItem;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/wcesdkr/htm/_wcesdk_win32_TV_ITEM_str.htm">see Platform SDK</A></summary>
			public Int32 state; 
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/wcesdkr/htm/_wcesdk_win32_TV_ITEM_str.htm">see Platform SDK</A></summary>
			public Int32 stateMask; 
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/wcesdkr/htm/_wcesdk_win32_TV_ITEM_str.htm">see Platform SDK</A></summary>
			public IntPtr pszText;				//LPSTR
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/wcesdkr/htm/_wcesdk_win32_TV_ITEM_str.htm">see Platform SDK</A></summary>
			public Int32 cchTextMax; 
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/wcesdkr/htm/_wcesdk_win32_TV_ITEM_str.htm">see Platform SDK</A></summary>
			public Int32 iImage; 
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/wcesdkr/htm/_wcesdk_win32_TV_ITEM_str.htm">see Platform SDK</A></summary>
			public Int32 iSelectedImage; 
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/wcesdkr/htm/_wcesdk_win32_TV_ITEM_str.htm">see Platform SDK</A></summary>
			public Int32 cChildren; 
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/wcesdkr/htm/_wcesdk_win32_TV_ITEM_str.htm">see Platform SDK</A></summary>
			public Int32 lParam; 
		}
		
		/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
		[StructLayout(LayoutKind.Sequential)]
		public struct TVITEMEX
		{
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public Int32  mask;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public IntPtr hItem;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public Int32  state;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public Int32  stateMask;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public string pszText;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public Int32  cchTextMax;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public Int32  iImage;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public Int32  iSelectedImage;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public Int32  cChildren;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public Int32  lParam;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public Int32  iIntegral;
		}

		/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
		[StructLayout(LayoutKind.Sequential)]
			public struct TVITEM_LPSTR
		{
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public Int32  mask;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public IntPtr hItem;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public Int32  state;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public Int32  stateMask;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public IntPtr pszText;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public Int32  cchTextMax;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public Int32  iImage;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public Int32  iSelectedImage;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public Int32  cChildren;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public Int32  lParam;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public Int32  iIntegral;
		}

		/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
		public struct TVINSERTSTRUCT_EX
		{
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public IntPtr  hParent;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public IntPtr  hInsertAfter;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			[MarshalAs(UnmanagedType.Struct)]public TVITEMEX itemex;
		}

		/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
		public struct TVINSERTSTRUCT_LPSTR
		{
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public IntPtr  hParent;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public IntPtr  hInsertAfter;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			[MarshalAs(UnmanagedType.Struct)]public TVITEM_LPSTR itemex;
		}

		/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Messages/TVM_SETIMAGELIST.htm">see Platform SDK</A></summary>
		public enum TreeImageListFalgs
		{
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Messages/TVM_SETIMAGELIST.htm">see Platform SDK</A></summary>
			TVSIL_NORMAL        =    0,
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Messages/TVM_SETIMAGELIST.htm">see Platform SDK</A></summary>
			TVSIL_STATE         =    2
		}
		/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
		public struct TreeViewInsert
		{
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public const long TVI_ROOT  =  -0x10000;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public const long TVI_FIRST =  -0x0FFFF;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public const long TVI_LAST  =  -0x0FFFE;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/TVITEMEX.htm">see Platform SDK</A></summary>
			public const long TVI_SORT  =  -0x0FFFD;
		}

		/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/wcesdkr/htm/_wcesdk_win32_TV_ITEM_str.htm">see Platform SDK</A></summary>
		[StructLayout(LayoutKind.Sequential)]
		public struct NMTREEVIEW 
		{
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Structures/NMTREEVIEW.htm">see Platform SDK</A></summary>
			[MarshalAs(UnmanagedType.Struct)]public NMHDR hdr;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Structures/NMTREEVIEW.htm">see Platform SDK</A></summary>
			public Int32 action; 
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Structures/NMTREEVIEW.htm">see Platform SDK</A></summary>
			[MarshalAs(UnmanagedType.Struct)]public TVITEM itemOld;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Structures/NMTREEVIEW.htm">see Platform SDK</A></summary>
			[MarshalAs(UnmanagedType.Struct)]public TVITEM itemNew;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/Structures/NMTREEVIEW.htm">see Platform SDK</A></summary>
			[MarshalAs(UnmanagedType.Struct)]public POINT ptDrag; 
		}

		/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/NMTVDISPINFO.htm#TV_DISPINFO">see Platform SDK</A></summary>
		[StructLayout(LayoutKind.Sequential)]
		public struct NMTVDISPINFO 
		{
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/NMTVDISPINFO.htm#TV_DISPINFO">see Platform SDK</A></summary>
			[MarshalAs(UnmanagedType.Struct)]public NMHDR hdr;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/NMTVDISPINFO.htm#TV_DISPINFO">see Platform SDK</A></summary>
			[MarshalAs(UnmanagedType.Struct)]public TVITEM item;
		}

		/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/NMTVDISPINFO.htm#TV_DISPINFO">see Platform SDK</A></summary>
		[StructLayout(LayoutKind.Sequential)]
			public struct NMTVDISPINFO_LPSTR 
		{
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/NMTVDISPINFO.htm#TV_DISPINFO">see Platform SDK</A></summary>
			[MarshalAs(UnmanagedType.Struct)]public NMHDR hdr;
			/// <summary><A HREF="ms-help://MS.MSDNQTR.2002JAN.1033/shellcc/platform/CommCtls/TreeView/structures/NMTVDISPINFO.htm#TV_DISPINFO">see Platform SDK</A></summary>
			[MarshalAs(UnmanagedType.Struct)]public TVITEM_LPSTR item;
		}

		/// <summary>..</summary>
		[Flags]
		public enum ToolTipFlags
		{
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ToolTip/Structures/TOOLINFO.htm">see Platform SDK</A></summary>
			TTF_IDISHWND       =    0x0001,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ToolTip/Structures/TOOLINFO.htm">see Platform SDK</A></summary>
			TTF_CENTERTIP      =    0x0002,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ToolTip/Structures/TOOLINFO.htm">see Platform SDK</A></summary>
			TTF_RTLREADING     =    0x0004,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ToolTip/Structures/TOOLINFO.htm">see Platform SDK</A></summary>
			TTF_SUBCLASS       =    0x0010,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ToolTip/Structures/TOOLINFO.htm">see Platform SDK</A></summary>
			TTF_TRACK          =    0x0020,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ToolTip/Structures/TOOLINFO.htm">see Platform SDK</A></summary>
			TTF_ABSOLUTE       =    0x0080,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ToolTip/Structures/TOOLINFO.htm">see Platform SDK</A></summary>
			TTF_TRANSPARENT    =    0x0100,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ToolTip/Structures/TOOLINFO.htm">see Platform SDK</A></summary>
			TTF_PARSELINKS     =    0x1000,
			/// <summary><A HREF="ms-help://MS.VSCC/MS.MSDNVS/shellcc/platform/CommCtls/ToolTip/Structures/TOOLINFO.htm">see Platform SDK</A></summary>
			TTF_DI_SETITEM     =    0x8000      // valid only on the TTN_NEEDTEXT callback
		}

		/// <summary>..</summary>
		[Flags]
		public enum ToolbarStates
		{
			/// <summary>..</summary>
			TBSTATE_CHECKED         = 0x01,	
			/// <summary>..</summary>
			TBSTATE_PRESSED         = 0x02,
			/// <summary>..</summary>
			TBSTATE_ENABLED         = 0x04,
			/// <summary>..</summary>
			TBSTATE_HIDDEN          = 0x08,
			/// <summary>..</summary>
			TBSTATE_INDETERMINATE   = 0x10,
			/// <summary>..</summary>
			TBSTATE_WRAP            = 0x20,
			/// <summary>..</summary>
			TBSTATE_ELLIPSES        = 0x40,
			/// <summary>..</summary>
			TBSTATE_MARKED          = 0x80		
		}

		/// <summary>..</summary>
		[Flags]
		public enum ToolbarStyles
		{
			/// <summary>..</summary>
			TBSTYLE_BUTTON          = 0x0000,
			/// <summary>..</summary>
			TBSTYLE_SEP             = 0x0001,
			/// <summary>..</summary>
			TBSTYLE_CHECK           = 0x0002,
			/// <summary>..</summary>
			TBSTYLE_GROUP           = 0x0004,
			/// <summary>..</summary>
			TBSTYLE_CHECKGROUP      = (TBSTYLE_GROUP | TBSTYLE_CHECK),
			/// <summary>..</summary>
			TBSTYLE_DROPDOWN        = 0x0008,
			/// <summary>..</summary>
			TBSTYLE_AUTOSIZE        = 0x0010,
			/// <summary>..</summary>
			TBSTYLE_NOPREFIX        = 0x0020, 
			/// <summary>..</summary>
			TBSTYLE_TOOLTIPS        = 0x0100,
			/// <summary>..</summary>
			TBSTYLE_WRAPABLE        = 0x0200,
			/// <summary>..</summary>
			TBSTYLE_ALTDRAG         = 0x0400,
			/// <summary>..</summary>
			TBSTYLE_FLAT            = 0x0800,
			/// <summary>..</summary>
			TBSTYLE_LIST            = 0x1000,
			/// <summary>..</summary>
			TBSTYLE_CUSTOMERASE     = 0x2000,
			/// <summary>..</summary>
			TBSTYLE_REGISTERDROP    = 0x4000,
			/// <summary>..</summary>
			TBSTYLE_TRANSPARENT     = 0x8000
		}

		// NMCUSTOMDRAW
	#region
		/// <summary>
		/// 
		/// </summary>
		[StructLayout(LayoutKind.Sequential)]
		public struct NMCUSTOMDRAW
		{
			/// <summary>
			/// 
			/// </summary>
			public NMHDR hdr;
			/// <summary>
			/// 
			/// </summary>
			public int dwDrawStage;
			/// <summary>
			/// 
			/// </summary>
			public IntPtr hdc;
			/// <summary>
			/// 
			/// </summary>
			public User32.RECT rc;
			/// <summary>
			/// 
			/// </summary>
			public int dwItemSpec;
			/// <summary>
			/// 
			/// </summary>
			public int uItemState;
			/// <summary>
			/// 
			/// </summary>
			public int lItemlParam;
		}
	#endregion

		// NMTVCUSTOMDRAW
	#region
		/// <summary>
		/// 
		/// </summary>
		[StructLayout(LayoutKind.Sequential)]
		public struct NMTVCUSTOMDRAW 
		{
			/// <summary>
			/// 
			/// </summary>
			public NMCUSTOMDRAW nmcd;
			/// <summary>
			/// 
			/// </summary>
			public uint clrText;
			/// <summary>
			/// 
			/// </summary>
			public uint clrTextBk;
			/// <summary>
			/// 
			/// </summary>
			public int iLevel;
		}
	#endregion
        
		// Custom Draw Return Flags
	#region
		/// <summary>
		/// 
		/// </summary>
		public enum CustomDrawReturnFlags
		{
			/// <summary>
			/// 
			/// </summary>
			CDRF_DODEFAULT          = 0x00000000,
			/// <summary>
			/// 
			/// </summary>
			CDRF_NEWFONT            = 0x00000002,
			/// <summary>
			/// 
			/// </summary>
			CDRF_SKIPDEFAULT        = 0x00000004,
			/// <summary>
			/// 
			/// </summary>
			CDRF_NOTIFYPOSTPAINT    = 0x00000010,
			/// <summary>
			/// 
			/// </summary>
			CDRF_NOTIFYITEMDRAW     = 0x00000020,
			/// <summary>
			/// 
			/// </summary>
			CDRF_NOTIFYSUBITEMDRAW  = 0x00000020, 
			/// <summary>
			/// 
			/// </summary>
			CDRF_NOTIFYPOSTERASE    = 0x00000040
		}
	#endregion

		// Custom Draw Item State Flags
	#region
		/// <summary>
		/// 
		/// </summary>
		public enum CustomDrawItemStateFlags
		{
			/// <summary>
			/// 
			/// </summary>
			CDIS_SELECTED       = 0x0001,
			/// <summary>
			/// 
			/// </summary>
			CDIS_GRAYED         = 0x0002,
			/// <summary>
			/// 
			/// </summary>
			CDIS_DISABLED       = 0x0004,
			/// <summary>
			/// 
			/// </summary>
			CDIS_CHECKED        = 0x0008,
			/// <summary>
			/// 
			/// </summary>
			CDIS_FOCUS          = 0x0010,
			/// <summary>
			/// 
			/// </summary>
			CDIS_DEFAULT        = 0x0020,
			/// <summary>
			/// 
			/// </summary>
			CDIS_HOT            = 0x0040,
			/// <summary>
			/// 
			/// </summary>
			CDIS_MARKED         = 0x0080,
			/// <summary>
			/// 
			/// </summary>
			CDIS_INDETERMINATE  = 0x0100
		}
	#endregion

		// Custom Draw Draw State Flags
	#region
		/// <summary>
		/// 
		/// </summary>
		public enum CustomDrawDrawStateFlags
		{
			/// <summary>
			/// 
			/// </summary>
			CDDS_PREPAINT           = 0x00000001,
			/// <summary>
			/// 
			/// </summary>
			CDDS_POSTPAINT          = 0x00000002,
			/// <summary>
			/// 
			/// </summary>
			CDDS_PREERASE           = 0x00000003,
			/// <summary>
			/// 
			/// </summary>
			CDDS_POSTERASE          = 0x00000004,
			/// <summary>
			/// 
			/// </summary>
			CDDS_ITEM               = 0x00010000,
			/// <summary>
			/// 
			/// </summary>
			CDDS_ITEMPREPAINT       = (CDDS_ITEM | CDDS_PREPAINT),
			/// <summary>
			/// 
			/// </summary>
			CDDS_ITEMPOSTPAINT      = (CDDS_ITEM | CDDS_POSTPAINT),
			/// <summary>
			/// 
			/// </summary>
			CDDS_ITEMPREERASE       = (CDDS_ITEM | CDDS_PREERASE),
			/// <summary>
			/// 
			/// </summary>
			CDDS_ITEMPOSTERASE      = (CDDS_ITEM | CDDS_POSTERASE),
			/// <summary>
			/// 
			/// </summary>
			CDDS_SUBITEM            = 0x00020000
		}
	#endregion

		// Reflected Messages
	#region
		/// <summary>
		/// 
		/// </summary>
		public enum ReflectedMessages
		{
			/// <summary>
			/// 
			/// </summary>
			OCM__BASE				= (WindowsMessages.WM_USER+0x1c00),
			/// <summary>
			/// 
			/// </summary>
			OCM_COMMAND				= (OCM__BASE + WindowsMessages.WM_COMMAND),
//			OCM_CTLCOLORBTN			= (OCM__BASE + WindowsMessages.WM_CTLCOLORBTN),
//			OCM_CTLCOLOREDIT		= (OCM__BASE + WindowsMessages.WM_CTLCOLOREDIT),
//			OCM_CTLCOLORDLG			= (OCM__BASE + WindowsMessages.WM_CTLCOLORDLG),
//			OCM_CTLCOLORLISTBOX		= (OCM__BASE + WindowsMessages.WM_CTLCOLORLISTBOX),
//			OCM_CTLCOLORMSGBOX		= (OCM__BASE + WindowsMessages.WM_CTLCOLORMSGBOX),
//			OCM_CTLCOLORSCROLLBAR   = (OCM__BASE + WindowsMessages.WM_CTLCOLORSCROLLBAR),
//			OCM_CTLCOLORSTATIC		= (OCM__BASE + WindowsMessages.WM_CTLCOLORSTATIC),
//			OCM_CTLCOLOR			= (OCM__BASE + WindowsMessages.WM_CTLCOLOR),
			/// <summary>
			/// 
			/// </summary>
			OCM_DRAWITEM			= (OCM__BASE + WindowsMessages.WM_DRAWITEM),
//			OCM_MEASUREITEM			= (OCM__BASE + WindowsMessages.WM_MEASUREITEM),
//			OCM_DELETEITEM          = (OCM__BASE + WindowsMessages.WM_DELETEITEM),
//			OCM_VKEYTOITEM          = (OCM__BASE + WindowsMessages.WM_VKEYTOITEM),
//			OCM_CHARTOITEM          = (OCM__BASE + WindowsMessages.WM_CHARTOITEM),
//			OCM_COMPAREITEM         = (OCM__BASE + WindowsMessages.WM_COMPAREITEM),
			/// <summary>
			/// 
			/// </summary>
			OCM_HSCROLL             = (OCM__BASE + WindowsMessages.WM_HSCROLL),
			/// <summary>
			/// 
			/// </summary>
			OCM_VSCROLL             = (OCM__BASE + WindowsMessages.WM_VSCROLL),
			/// <summary>
			/// 
			/// </summary>
			OCM_PARENTNOTIFY        = (OCM__BASE + WindowsMessages.WM_PARENTNOTIFY),
			///
			OCM_NOTIFY              = (OCM__BASE + WindowsMessages.WM_NOTIFY)
		}
	#endregion

		// Notification Messages
	#region
		/// <summary>
		/// 
		/// </summary>
		public enum NotificationMessages
		{
			/// <summary>
			/// 
			/// </summary>
			NM_FIRST      = (0-0),
			/// <summary>
			/// 
			/// </summary>
			NM_CUSTOMDRAW = (NM_FIRST-12),
			/// <summary>
			/// 
			/// </summary>
			NM_NCHITTEST  = (NM_FIRST-14) 
		}
	#endregion


	}
}
